package io.gitee.tziye.core.kv.model;

import io.gitee.tziye.RenaiClient;
import io.gitee.tziye.core.kv.RenaiValue;
import io.gitee.tziye.enums.KvType;

import java.util.List;

public abstract class RenaiKVCollection<T> extends RenaiKVBase<T> {

    public RenaiKVCollection(RenaiClient renaiClient, String key, Class<T> clazz, KvType type) {
        super(renaiClient, key, clazz, type);
    }

    public abstract List<RenaiValue> values(String key);

    public abstract int size();

    public abstract boolean contains(T value);

    public abstract int clear();

    public abstract boolean remove(T value);

    public abstract int removeValues(List<T> values);

}
